Grid computing services, utility-based data centers, and other types of resource-on-demand systems are becomingly increasingly popular as a highly scalable means for utilizing computer resources to meet the computing demands of users. In many of these systems, computer resources are allocated to a user's computing needs on demand. For example, in a data center, the computer resources, such as servers, CPU's, memory and storage are allocated among many different applications for many different users. In many situations it may be beneficial to accurately determine the impact of a user's computing demands on the capacity of a resource-on-demand system where computer resources may be shared, such as for billing purposes or for capacity planning in a shared utility. Many applications may be running in a shared utility, such as a data center. Some of those applications may be running at close to their peak demand for the majority of their execution time. These applications generally may not be able to share resources because they run at close to their peak demand for the majority of their execution time. The impact of these applications may be determined to be the resources required for running these applications at peak demand. Other applications, however, may be running at close to peak demand for short periods of time. These applications may be able to share resources with other applications. For example, a system administrator may allocate 50 servers to an application to accommodate the peak demand of the application. However, the peak demand may only occur for short periods of time. Thus, some of the 50 servers may be shared with other applications during non-peak demand times for the application or some of the servers are unused. The impact for these types of applications on the data center resources is difficult to determine because of the potential for sharing servers.